package cgeo.geocaching.ui.dialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.text.format.DateFormat;
import android.widget.TimePicker;
import java.util.Calendar;
public class TimeDialog extends DialogFragment implements OnTimeSetListener {
private Calendar date;
public interface TimeDialogParent {
void setTime(final Calendar date);
}
public static TimeDialog getInstance(final Calendar date) {
final TimeDialog timeDialog = new TimeDialog();
final Bundle args = new Bundle();
args.putSerializable("date", date);
timeDialog.setArguments(args);
return timeDialog;
}
@Override
@NonNull
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final Bundle args = getArguments();
date = (Calendar) args.getSerializable("date");
final int hour = date.get(Calendar.HOUR_OF_DAY);
final int minute = date.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
@Override
public void onTimeSet(final TimePicker view, final int hourOfDay, final int minute) {
date.set(Calendar.HOUR_OF_DAY, hourOfDay);
date.set(Calendar.MINUTE, minute);
((TimeDialogParent) getActivity()).setTime(date);
}
}